<template>
  <div class="download">
    <el-dropdown
      split-button
      type="warning"
      size="small"
      @command="downloadTemplate"
    >
      下载模板
      <el-dropdown-menu slot="dropdown">
        <el-dropdown-item command="template1">公安类模板</el-dropdown-item>
        <el-dropdown-item command="template2">集成类模板</el-dropdown-item>
      </el-dropdown-menu>
    </el-dropdown>
  </div>
</template>

<script>
import * as XLSX from "xlsx";

export default {
  name: "",
  data() {
    return {};
  },
  methods: {
    downloadTemplate(command) {
      if (command === "template1") {
        // 公安类模板
        this.downloadTemplate1();
      } else if (command === "template2") {
        // 集成类模板
        this.downloadTemplate2();
      }
    },
    downloadTemplate1() {
      const json = [
        {
          设备标识: "",
          所属组织: "",
          设备编码: "",
          是否重复摄像头: "",
          重复摄像头编码: "",
          重复类型: "",
          原始设备编码: "",
          设备名称: "",
          设备厂商: "",
          行政区域: "",
          监控点位类型: "",
          设备型号: "",
          点位俗称: "",
          IPV4地址: "",
          IPV6地址: "",
          网络类型: "",
          MAC地址: "",
          摄像机类型: "",
          摄像机功能类型: "",
          补光属性: "",
          摄像机编码格式: "",
          取电方式: "",
          是否有拾音器: "",
          摄像机分辨率: "",
          "所属街道/乡镇/社区": "",
          安装地址: "",
          纬度: "",
          经度: "",
          摄像机位置类型: "",
          监视方位: "",
          安装位置: "",
          联网属性: "",
          所属辖区公安机关: "",
          安装时间: "",
          架设高度: "",
          管理单位: "",
          管理单位联系方式: "",
          录像保存天数: "",
          录像保存位置: "",
          设备状态: "",
          运维单位: "",
          运维单位联系人: "",
          运维单位联系方式: "",
          关联设备: "",
          "所属部门/行业": "",
          所属项目: "",
          建设方式: "",
          摄像机扩展类型: "",
          杆件名称: "",
          杆件编码: "",
          杆件边界类型: "",
          布建场景: "",
          布建位置: "",
          设备类型: "",
          是否共享: "",
          共享范围: "",
          重点点位摄像机采集区域: "",
          设备账号密码: "",
          "现场联系人/联系方式": "",
          在离线: "",
        },
      ];

      // 将json数据转换成excel文件
      const worksheet = XLSX.utils.json_to_sheet(json);
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

      XLSX.writeFile(workbook, "公安类模板.xlsx");
    },
    downloadTemplate2() {
      const json = [
        // {
        //   设备名称: "",
        //   所属项目: "",
        //   所属片区: "",
        //   定位: "",
        //   业主单位: "",
        //   单位地址: "",
        //   业主负责人: "",
        //   业主负责人电话: "",
        //   项目经理: "",
        //   项目经理电话: "",
        //   厂家技术员电话: "",
        //   品牌: "",
        //   型号: "",
        // },
        {
          序号: "",
          采购物品名称: "",
          品牌: "",
          型号: "",
          配置参数: "",
          单位: "",
          数量: "",
          "单价（元）": "",
          "金额（元）": "",
          备注: "",
        },
      ];

      // 将json数据转换成excel文件
      const worksheet = XLSX.utils.json_to_sheet(json);
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

      XLSX.writeFile(workbook, "集成类模板.xlsx");
    },
    writeFileAsync(workbook, filename, options) {
      return new Promise((resolve, reject) => {
        try {
          XLSX.writeFile(workbook, filename, options);
          resolve();
        } catch (error) {
          reject(error);
        }
      });
    },
  },
};
</script>

<style lang="scss" scoped>
</style>
